def hamming_distance_int(x, y):
    """
    汉明距离
    汉明距离应用于很多领域。在编码理论中用于错误检测，在信息论中量化字符串之间的差异
    汉明距离 = 两个数字对应二进制位不同的位置的个数
    给出两个整数 x 和 y，计算它们之间的汉明距离。
    输入: x = 1, y = 4  输出: 2
    解释:   1   (0 0 0 1)
             4   (0 1 0 0)
    测试用例：
    hammingDistance(1, 4) => 2
    hammingDistance(20, 34) => 4
    hammingDistance(55, 34) => 3
    hammingDistance(78, 96) => 4
    hammingDistance(1278, 196) => 5
    :param x: 第一个整数
    :param y: 第二个整数
    :return: 汉明距离
    """
    # 使用异或运算得到两个整数的二进制表示中不同位的位置
    xor_result = x ^ y

    # 计算异或结果中1的个数，即不同位的个数
    distance = bin(xor_result).count('1')

    return distance


if __name__ == '__main__':
    print(hamming_distance_int(1, 4))
    print(hamming_distance_int(20, 34))
    print(hamming_distance_int(55, 34))
    print(hamming_distance_int(78, 96))
    print(hamming_distance_int(1278, 196))
